Targeted online multimedia advertising

ABSTRACT

A server system accesses a branding profile that includes one or more demographics associated with the user. The system selects an advertising campaign in accordance with the one or more demographics. The advertising campaign includes a pool of multimedia advertisements and a pool of questions, and is associated with a subset of the one or more demographics. The system selects a multimedia advertisement from the pool of multimedia advertisements and a question from the pool of questions. The question is associated with a plurality of predefined answers to the question. The system transmits, to a client, instructions that cause: the multimedia advertisement to be presented by the client device; the question to be presented by the client device concurrently with the multimedia advertisement; and an affordance to be provided corresponding to each of the predefined answers to the question. The system receives a response and updates the branding profile accordingly.

RELATED APPLICATIONS

This application claims priority to U.S. Provisional Application62/018,442, entitled “Targeted Online Multimedia Advertising,” filedJun. 27, 2014, and is a continuation in part of U.S. application Ser.No. 14/491,925, entitled “Online Multimedia Advertising,” filed Sep. 19,2014, which in turn claims priority to U.S. Provisional Application61/880,740, entitled “Online Multimedia Advertising,” filed Sep. 20,2013, all of which are hereby incorporated by reference in theirentirety.

TECHNICAL FIELD

The technology generally relates to server systems and methods fortargeted advertising, and client devices on which advertisements aredisplayed.

BACKGROUND

Online marketing, for example, through mobile advertising, has become apopular way for advertisers to reach consumers that may be interested inthe products and services offered by those advertisers. Like otheradvertising media, online advertising frequently involves bothpublishers who integrate advertisements into their online content, andadvertiser who provide such advertisements. These publishers caninclude, for example, website providers (e.g., news outlets) andstreaming media services. Often, publishers provide content as a freeservice (e.g., a news service or a music service) and rely on hosting ofadvertisements in order to remain profitable.

One problem with conventional methods of online advertising is that suchadvertisements do not provide useful feedback to the advertisers thatcan be used to further develop their products and services. Nor doconventional methods of online advertising provide useful feedback tothe advertisers that can be used to further develop theiradvertisements, or further target such advertisements to users who arelikely to be interested in their products and services. For example,conventional methods of tracking such advertisements rely on metricssuch as cost per action or cost per click, which at best indicate thatthe user somehow acknowledged the advertisement rather than indicatingthat the user has a positive or negative opinion of the advertisedcontent.

Another problem with conventional methods of online advertising is thatsuch advertisements do not provide a convenient way of engaging theuser. Such advertisements can be disruptive to the user's activity(e.g., by forcing the user to watch all or at least part of a videoadvertisement before the user can continue their desired activity on thedevice). These types of disruptive advertisements can lead to annoyanceand resentment on the part of the user toward publishers and advertiser.Alternatively, such advertisements can be more passive (e.g., a banneradvertisement at the top of a webpage). Unfortunately, such passiveadvertisements are easy for the user to ignore and avoid interactingwith. Moreover, in neither of these cases (i.e., disruptive or passiveadvertising) does the user feel that he or she has a personal stake inthe advertisement.

SUMMARY

There is a need for methods of online advertising that are engaging andconvenient for users, as well as informative and effective foradvertisers.

To this end, in accordance with some implementations, a method isperformed at a server system having one or more processors. The methodincludes accessing a branding profile corresponding to a client device.The branding profile includes one or more demographics associated with auser of the client device. The one or more demographics are selectedfrom a plurality of predefined demographics. The server system selectsan advertising campaign in accordance with the one or more demographics.The advertising campaign includes a pool of multimedia advertisementsand a pool of questions. The advertising campaign is also associatedwith a subset of the one or more demographics.

The server system selects, from the advertising campaign, a multimediaadvertisement from the pool of multimedia advertisements and a questionfrom the pool of questions. The question is associated with a pluralityof predefined answers to the question. The server system transmits, tothe client device: instructions that cause the multimedia advertisementto be presented by the client device; instructions that cause thequestion to be presented by the client device concurrently with themultimedia advertisement; and instructions for providing a respectiveaffordance on the client device corresponding to each of the predefinedanswers to the question. The server system receives, from the clientdevice, a response corresponding to one of the predefined answers to thequestion and updates, based on the response to the question, thebranding profile corresponding to the client device.

In some embodiments, the server system updates, based on the response tothe question, demographics with which the advertising campaign isassociated.

In some embodiments, the advertising campaign is associated with anadvertiser.

In some embodiments, the advertising campaign is a respectiveadvertising campaign of a plurality of advertising campaigns, eachadvertising campaign of the plurality of advertising campaigns includinga respective pool of multimedia advertisements and a respective pool ofquestions. In some embodiments, selecting an advertising campaignincludes: determining one or more of the plurality of advertisingcampaigns that meet predefined criteria with respect to the one or moredemographics; ranking the one or more advertising campaigns at leastpartially based on compatibility between the individual advertisingcampaigns and the one or more demographics; and selecting the respectiveadvertising campaign based on the ranking of the one or more advertisingcampaigns. In some embodiments, the ranking of the one or moreadvertising campaigns is based at least in part on data mining ofhistorical responses of users associated with the one or moredemographics to questions included in the plurality of advertisingcampaigns. In some embodiments, the ranking of the one or moreadvertising campaigns is based at least in part on monetary bidsassociated with the one or more advertising campaigns.

In some embodiments, accessing the branding profile includes using atleast one of a plurality of identifiers corresponding to the clientdevice, the plurality of identifiers including a device issuedidentifier, a cookie identifier, and a device fingerprint identifier.

In some embodiments, the plurality of predefined answers to the questionincludes a predefined answer corresponding to approval of a respectivesubject associated with the multimedia advertisement and a predefinedanswer corresponding to disapproval of the respective subject. In somecircumstances, the subject is one of the group consisting of: a productassociated with the multimedia advertisement, content of the multimediaadvertisement, a brand associated with the multimedia advertisement, anda product category to which a product associated with the multimediaadvertisement belongs. In some embodiments the predefined answercorresponding to approval signifies intent to engage in a transactionassociated with the respective subject and the predefined answer tocorresponding to disapproval signifies intent to forgo engaging in atransaction associated with the respective subject. In some embodiments,when the received response to the multimedia advertisement is thepredefined answer corresponding to approval of the respective subject,the branding profile is updated such that a second multimediaadvertisement is selected that has a greater degree of similarity to therespective subject than when the received response to the multimediaadvertisement is the predefined answer corresponding to disapproval ofthe respective subject.

In some embodiments, the server system determines, based on responsesreceived to a plurality of questions, one or more demographics to whichthe user of the client device belongs and updates the branding profileto include the one or more determined demographics.

In another aspect of the present invention, to address theaforementioned limitations of conventional online advertising, someimplementations provide a non-transitory computer readable storagemedium storing one or more programs. The one or more programs compriseinstructions, which when executed by a server system with one or moreprocessors and memory, cause the server system to perform any of themethods provided herein.

In yet another aspect of the present invention, to address theaforementioned limitations of online advertising, some implementationsprovide a server system. The server system includes one or moreprocessors, memory, and one or more programs. The one or more programsare stored in memory and configured to be executed by the one or moreprocessors. The one or more programs include an operating system andinstructions that when executed by the one or more processors cause theserver system to perform any of the methods provided herein.

BRIEF DESCRIPTION OF THE DRAWINGS

For a better understanding of the various described implementations,reference should be made to the Description of Implementations below, inconjunction with the following drawings in which like reference numeralsrefer to corresponding parts throughout the figures.

FIG. 1 is a diagram of a client-server environment, in accordance withsome implementations.

FIG. 2 is a block diagram illustrating an ad server system, inaccordance with some implementations.

FIG. 3 is a block diagram illustrating a client device, in accordancewith some implementations.

FIGS. 4A-4G illustrate user interfaces for online advertising, inaccordance with some implementations.

FIGS. 5A-5D illustrate additional user interfaces for onlineadvertising, in accordance with some implementations.

FIGS. 6A-6C are flow diagrams illustrating a method of onlineadvertising, in accordance with some implementations.

FIGS. 7A-7B are flow diagrams illustrating a method of onlineadvertising, in accordance with some implementations.

FIGS. 8A-8D are flow diagrams illustrating a method of targeting onlineadvertisements, in accordance with some implementations.

FIG. 9 illustrates examples of client identifying information receivedby an advertisement server system, in accordance with someimplementations.

FIG. 10 illustrates a data structure for a branding profile, inaccordance with some implementations.

FIG. 11 illustrates selection of an advertising campaign based ondemographic information associated with the branding profile datastructure, in accordance with some implementations.

DESCRIPTION OF IMPLEMENTATIONS

The implementations described herein improve on conventional methods ofonline advertising by allowing a user of a client device (e.g., a userto whom a multimedia advertisement is served) to vote on a question as amanner of closing a multimedia advertisement. For example, in somecircumstances, a user may request, on a client device, to view a videostreamed by a publisher (e.g., within a mobile web browser or within thepublisher's mobile application). In such circumstances, the publisherwill serve an advertisement, such as a video advertisement for anup-coming movie release (e.g., a trailer), prior to allowing the user toview the requested video. According to some implementations providedherein, the user will be able to vote to close the videoadvertisement—sooner than the advertisement would otherwise close—byanswering a question (such as “Would you like to see this movie?”)provided with, or for display with, the trailer.

In accordance with some implementations, voting to close a multimediaadvertisement provides several advantages over conventional methods ofonline advertising. First, the advertiser receives feedback that can beused to further develop their products and services. The advertisers canalso use such feedback to further develop their advertisements, orfurther target such advertisements to users who are likely to beinterested in their products and services. Secondly, the vote to closemethod of closing a multimedia advertisement provides users (e.g., towhom the advertisements are directed) with a social media element toviewing the advertisement, which makes receiving such advertisementsmore appealing and engaging to the users. For example, according to someimplementations, after a user votes on the question “Would you like tosee this movie?” the user is shown an aggregated summary of other user'svotes (e.g., a percentage of people who voted “Yes” and a percentage ofpeople who voted “No”). This provides a reward for voting that is moreconvenient (e.g., it does not result in a significant delay in the userbeing able to return to their desired content) and is more enticing forthe modern user than, for example, an abstract, low-probability chanceto win something.

To this end, various methods, servers, and client devices for vote toclose online advertising are described below with reference to thefigures.

FIG. 1 is a diagram of a client-server environment 100, in accordancewith some implementations. While certain specific features areillustrated, those skilled in the art will appreciate from the presentdisclosure that various other features have not been illustrated for thesake of brevity and so as not to obscure more pertinent aspects of theimplementations disclosed herein. To that end, the client-serverenvironment 100 includes one or more mobile phone operators 102, one ormore Internet service providers 104, and a communications network 106.

The mobile phone operator 102 (i.e., wireless carrier), and the Internetservice provider 104 are capable of being connected to the communicationnetwork 106 in order to exchange information with one another and/orother devices and systems. Additionally, the mobile phone operator 102and the Internet service provider 104 are operable to connect clientdevices to the communication network 106 as well. For example, a smartphone 108 is operable with the network of the mobile phone operator 102,which includes for example, a base station 103. Similarly, for example,a personal computer 110 (e.g., a laptop computer, tablet, desktop, smarttelevision, workstation or the like) is connectable to the networkprovided by an Internet service provider 104, which is ultimatelyconnectable to the communication network 106.

The communication network 106 may be any combination of wired andwireless local area network (LAN) and/or wide area network (WAN), suchas an intranet, an extranet, including a portion of the Internet. It issufficient that the communication network 106 provides communicationcapability between client devices (e.g., smart phones 108 and personalcomputers 110) and servers. In some implementations, the communicationnetwork 106 uses the HyperText Transport Protocol (HTTP) to transportinformation using the Transmission Control Protocol/Internet Protocol(TCP/IP). HTTP permits a client device to access various resourcesavailable via the communication network 106. However, the variousimplementations described herein are not limited to the use of anyparticular protocol.

In some implementations, the client-server environment 100 furtherincludes:

-   -   A publisher server system 111-a. Within the publisher server        system 111-a, there is a server computer 112-a (e.g., a network        server such as a web server) for receiving and processing data        received from the client device 108/110. In some        implementations, the publisher server system stores (e.g., in a        database 114-a) and maintains a plurality of web pages and        provides the web pages to the client devices 108/110 upon        receipt of an access request. In some implementations, the        publisher provides content to a mobile application (sometimes        referred to as an “app”) running on the client device 108/110,        such as a gaming app, or a streaming music and video app. In        some circumstances, the publisher server system 111-a provides        content to a respective client device 108/110 (whether it be a        web page or content for a mobile app, or other content) that        contains script (e.g., code) indicating that an advertisement        (sometimes referred to as an “ad”) is to be served when the web        page is loaded by the client device 108/110. The client device        108/110 receives the script indicating that an ad is to be        served, and transmits an ad request to an ad server system        111-b, as described below.    -   One or more ad server systems 111-b. Within the ad server system        111-b, there is a server computer 112-b for receiving and        processing ad requests from a client device 108/110 and a        database 114-b storing one or more advertisements and metadata        (such as user and demographic metadata). In some        implementations, the ad server system 111-b responds to the ad        request by providing an advertisement script to the client        device 108/110 (e.g., as a JavaScript object such as a JSON        string, herein referred to as the “ad”). In some        implementations, the ad includes a multimedia object such as an        audio file, a video file, other media formats, and/or        combinations thereof. In some implementations, rather than        serving the multimedia object directly, the ad includes        instructions for retrieving the multimedia object from a content        distribution server. In some implementations, the ad includes a        question that accompanies the multimedia object (e.g., “Do you        plan to see this movie?”), one or more potential user responses        to the question (e.g., “Yes,” and “No”), instructions for        obtaining, from the client device 108/110, a user response to        the question (e.g., a respective one of the potential user        responses that is selected by a user of the client device        108/110), and instructions for formatting the multimedia object        (including the question) on an application of the client device        108/110 (e.g., a web browser or a mobile application).    -   One or more content delivery server systems 111-c. Within the        content delivery server systems 111-c, there is a server        computer 112-c and a database 114-c for receiving and processing        requests for objects. In some implementations, the ad is        transmitted from the ad server system 111-b and/or the client        device 108/110 and the ad's instructions include a URL that is        parsed by a DNS server and further routed to a respective        content delivery server 112-b that is best able to serve the        multimedia object.

Those skilled in the art will appreciate from the present disclosurethat any number of such devices and/or systems may be provided in aclient-server environment, and particular devices may be altogetherabsent. In other words, the client-server environment 100 is merely anexample provided to discuss more pertinent features of the presentdisclosure.

FIG. 2 is a block diagram illustrating an example of an ad server system111-b, discussed above with reference to FIG. 1, in accordance with someimplementations. While certain specific features are illustrated, thoseskilled in the art will appreciate from the present disclosure thatvarious other features have not been illustrated for the sake of brevityand so as not to obscure more pertinent aspects of the implementationsdisclosed herein. To that end, the ad server system 111-b includes oneor more processing units (CPUs) 202, one or more network or othercommunications interfaces 208, memory 206, and one or more communicationbuses 204 for interconnecting these and various other components. Thecommunication buses 204 may include circuitry (sometimes called achipset) that interconnects and controls communications between systemcomponents. Memory 206 includes high-speed random access memory, such asDRAM, SRAM, DDR RAM or other random access solid state memory devices;and may include non-volatile memory, such as one or more magnetic diskstorage devices, optical disk storage devices, flash memory devices, orother non-volatile solid state storage devices. Memory 206 mayoptionally include one or more storage devices remotely located from theCPU(s) 202. Memory 206, including the non-volatile and volatile memorydevice(s) within memory 206, comprises a non-transitory computerreadable storage medium.

In some implementations, memory 206 or the non-transitory computerreadable storage medium of memory 206 stores the following programs,modules and data structures, or a subset thereof including an operatingsystem 216, a network communication module 218, an advertisement servingmodule 231, and a database 114.

The operating system 216 includes procedures for handling various basicsystem services and for performing hardware dependent tasks.

The network communication module 218 facilitates communication withother devices (e.g., other server systems 111 as well as client devices108/110) via the one or more network interfaces 208 (wired or wireless)and one or more communication networks, such as the Internet, other widearea networks, local area networks, metropolitan area networks, and soon.

The advertisement serving module 231 is configured to receive anadvertisement request for an advertisement (e.g., from a client device108/110, or an advertisement mediator service) to be served to theclient device 108/110. For example, in some circumstances, the requestoriginates from a mobile device and includes an indication that theadvertisement is to be provided to the user in a respective one of amobile web browser or a mobile app. In some implementations, theadvertisement serving module 231 selects a respective multimediaadvertisement from a plurality of multimedia advertisements being storedon the server system (e.g., based on demographic information obtainedusing from a user's branding profile). In some implementations, therespective multimedia advertisement includes a question and a pluralityof predetermined user responses to the question. The advertisementserving module 231 transmits the respective multimedia advertisement tothe client device, and receives, from the client device, a respectiveuser response of the plurality of predetermined user responses to thequestion.

In some embodiments, the advertisement serving module 231 optionallyincludes several sub-modules, each including a set of instructions andoptionally including metadata. For example, in some implementations, theadvertisement serving module 231 includes a demographics sub-module 210that includes a set of instructions 210-a and metadata 210-b. Thedemographics sub-module selects a multimedia advertisement in accordancewith demographics stored in a user's branding profile. Morespecifically, the demographics sub-module 210 receives demographicinformation including one or more demographics from the branding profilethat has been accessed by the identification and identification andfingerprinting sub-module 211 (explained below). The demographicssub-module 210 selects an advertising campaign in accordance with theone or more demographics. The advertising campaigns are stored in theadvertisement data sub-module 215. The advertising campaign includes apool of multimedia advertisements and a pool of questions. Theadvertising campaign is associated with a subset of the one or moredemographics. The demographics sub-module 210 selects, from theadvertising campaign, a multimedia advertisement from the pool ofmultimedia advertisements and a question from the pool of questions. Thequestion is associated with a plurality of predefined answers to thequestion. The demographics sub-module 210 transmits instructions to theclient device for presenting the multimedia advertisement, concurrentlypresenting the question, and providing affordances on the client deviceto receive an answer to the question.

Similarly, the advertisement serving module 231 optionally includes aidentification and fingerprinting sub-module 211. The identification andfingerprinting sub-module 211 is configured to receive an ad requestfrom a client device 108/110 and access a branding profile correspondingto a client device (e.g., branding profile 1002), which is stored in theuser data sub-module 214. The branding profile includes the one or moredemographics associated with a user of the client device. In someembodiments, the identification and fingerprinting sub-module 211accesses the branding profile using at least one of a plurality ofdistinct identifiers corresponding to the client device. For example, insome embodiments, the plurality of identifiers includes a device issuedidentifier, a cookie identifier, and a device fingerprint identifier. Insome embodiments, the identification and fingerprinting sub-module 211receives fingerprinting information and maps the fingerprintinginformation onto the device fingerprint identifier. In some embodiments,the identification and fingerprinting sub-module 211 accesses thebranding profile using more than one identifier of the plurality ofidentifiers and manages conflicts if the multiple identifiers do notaccess the same branding profile. For example, if the identification andfingerprinting sub-module 211 accesses a branding profile using a deviceissued ID (e.g., an IDFA or Android ID) and determines that the devicefingerprint identifier stored in the branding profile (e.g., fingerprintID 1004-3) does not match a device fingerprint ID generated inaccordance with the ad request, the identification and fingerprintingsub-module 211 will replace the branding profile's device fingerprint IDwith the determined fingerprint ID.

The advertisement serving module 231 also optionally includes aformatting sub-module 212 for formatting the served advertisements(e.g., for the respective one of the mobile browser or mobile app).

Finally, the advertisement serving module 231 optionally includes animpression tracking sub-module 213. The impression tracking module 213is configured receive, from the client device, a response (sometimescalled an “impression”) corresponding to one of the predefined answersto the question and store the response in historical data 220. Theimpression tracking sub-module 213 also updates the user's brandingprofile to reflect new determined demographics, or changes indemographics, in accordance with the user's response to the question. Insome embodiments, the impression tracking sub-module 213 monitors andreports to advertisers various metrics (e.g., viewable impressions,clicks, etc.) indicating the success of their advertisements.

The database 114 optionally includes one or more sub-modules for storingdata related to the ad server system 111-b. The one or more sub-modulesoptionally include a user data sub-module 214 for storing users'branding profiles (e.g., the branding profile 1002, FIG. 10). In someimplementations, the user data sub-module 214 includes a listing ofadvertisements for which the user has already answered an accompanyingquestion, as described in more detail below. The database 114 alsoincludes an advertisement data sub-module 215 that includesadvertisement data for advertising campaigns. In some embodiments, theadvertising data includes information corresponding to a pool ofmultimedia advertisements (e.g., URLs pointing to where theadvertisements are stored), a pool questions relating to the advertisingcampaign (e.g., “Do you want to see this movie?”), potential answers tothe questions (e.g., “Yes,” and “No”), demographic informationidentifying advertisements as particularly relevant to particulardemographic classifications (e.g., to serve user's advertisements morelikely to be interesting to them), etc. Finally, the database 114optionally includes historical data 220. In some embodiments, userresponses to questions (impressions) are index and stored in historicaldata 220 along with demographic information to support future searchingand data mining.

Attention is now directed toward implementations of client devices. FIG.3 is a block diagram illustrating a client device 108/110, in accordancewith some implementations. In some implementations, the client device108/110 is a smart phone, a laptop computer, a desktop computer, atablet computer, a multimedia player device, a navigation device, aneducational device (such as a child's learning toy), a gaming system, ora smart television. In some implementations, the client device 108/110includes a touch-sensitive display 312 that is sometimes called a “touchscreen” for convenience, and is sometimes known as or called atouch-sensitive display system. The client device 108/110 includesmemory 302 (which optionally includes one or more computer readablestorage media), a memory controller 322, one or more processing units(CPUs) 320, a peripherals interface 318, RF circuitry 308, audiocircuitry 310, a speaker 311, a microphone 313, an input/output (I/O)subsystem 306, other input or control devices 316, and an external port324. These components optionally communicate over one or morecommunication buses or signal lines 303.

It should be appreciated that client device 108/110 is only one exampleof a client device, and that client device 108/110 optionally has moreor fewer components than shown, optionally combines two or morecomponents, or optionally has a different configuration or arrangementof the components. The various components shown in FIG. 3 areimplemented in hardware, software, or a combination of both hardware andsoftware, including one or more signal processing and/or applicationspecific integrated circuits.

Memory 302 optionally includes high-speed random access memory andoptionally also includes non-volatile memory, such as one or moremagnetic disk storage devices, flash memory devices, or othernon-volatile solid-state memory devices. Access to memory 302 by othercomponents of client device 108/110, such as the CPU 320 and theperipherals interface 318, is, optionally, controlled by the memorycontroller 322.

The peripherals interface 318 can be used to couple input and outputperipherals of the device to the CPU 320 and memory 302. The one or moreprocessors 320 run or execute various software programs and/or sets ofinstructions stored in memory 302 to perform various functions for theclient device 108/110 and to process data.

In some implementations, the peripherals interface 318, CPU 320, andmemory controller 322 are, optionally, implemented on a single chip,such as a chip 304. In some other implementations, they are, optionally,implemented on separate chips.

The RF (radio frequency) circuitry 308 receives and sends RF signals,also called electromagnetic signals. The RF circuitry 308 convertselectrical signals to/from electromagnetic signals and communicates withcommunications networks (e.g., the communications network 106, FIG. 1)and other communications devices (e.g., the base station 103, FIG. 1)via the electromagnetic signals. The RF circuitry 308 optionallyincludes well-known circuitry for performing these functions, includingbut not limited to an antenna system, an RF transceiver, one or moreamplifiers, a tuner, one or more oscillators, a digital signalprocessor, a CODEC chipset, a subscriber identity module (SIM) card,memory, and so forth. The RF circuitry 308 optionally communicates withnetworks, such as the Internet, also referred to as the World Wide Web(WWW), an intranet and/or a wireless network, such as a cellulartelephone network, a wireless local area network (LAN) and/or ametropolitan area network (MAN), and other devices by wirelesscommunication. The wireless communication optionally uses any of aplurality of communications standards, protocols and technologies,including but not limited to Global System for Mobile Communications(GSM), Enhanced Data GSM Environment (EDGE), high-speed downlink packetaccess (HSDPA), high-speed uplink packet access (HSUPA), Evolution,Data-Only (EV-DO), HSPA, HSPA+, Dual-Cell HSPA (DC-HSPDA), long termevolution (LTE), near field communication (NFC), wideband code divisionmultiple access (W-CDMA), code division multiple access (CDMA), timedivision multiple access (TDMA), Bluetooth, Wireless Fidelity (Wi-Fi)(e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g and/or IEEE 802.11n),voice over Internet Protocol (VoIP), Wi-MAX, a protocol for e mail(e.g., Internet message access protocol (IMAP) and/or post officeprotocol (POP)), instant messaging (e.g., extensible messaging andpresence protocol (XMPP), Session Initiation Protocol for InstantMessaging and Presence Leveraging Extensions (SIMPLE), Instant Messagingand Presence Service (IMPS)), and/or Short Message Service (SMS), or anyother suitable communication protocol, including communication protocolsnot yet developed as of the filing date of this document.

The audio circuitry 310, speaker 311, and microphone 313 provide anaudio interface between a user and the client device 108/110. The audiocircuitry 310 receives audio data from the peripherals interface 318,converts the audio data to an electrical signal, and transmits theelectrical signal to the speaker 311. The speaker 311 converts theelectrical signal to human-audible sound waves. The audio circuitry 310also receives electrical signals converted by the microphone 313 fromsound waves. The audio circuitry 310 converts the electrical signal toaudio data and transmits the audio data to the peripherals interface 318for processing. Audio data is, optionally, retrieved from and/ortransmitted to memory 302 and/or the RF circuitry 308 by the peripheralsinterface 318. In some implementations, the audio circuitry 310 alsoincludes a headset jack. The headset jack provides an interface betweenthe audio circuitry 310 and removable audio input/output peripherals,such as output-only headphones or a headset with both output (e.g., aheadphone for one or both ears) and input (e.g., a microphone).

The I/O subsystem 306 couples input/output peripherals on the clientdevice 108/110, such as a touch screen 312 and the other input controldevices 316, to the peripherals interface 318. The I/O subsystem 306optionally includes a display controller 356, and one or more inputcontrollers 360 for other input or control devices. The one or moreinput controllers 360 receive/send electrical signals from/to otherinput or the control devices 316. The other input control devices 316optionally include physical buttons (e.g., push buttons, rocker buttons,etc.), dials, slider switches, joysticks, click wheels, and so forth. Insome alternate implementations, the input controller(s) 360 are,optionally, coupled to any (or none) of the following: a keyboard,infrared port, USB port, and a pointer device such as a mouse. The oneor more buttons optionally include an up/down button for volume controlof the speaker 311 and/or the microphone 313. The one or more buttonsoptionally include a push button.

The touch-sensitive display 312 provides an input interface and anoutput interface between the device and a user. The display controller356 receives and/or sends electrical signals from/to the touch screen312. The touch screen 312 displays visual output to the user. The visualoutput optionally includes graphics, text, icons, video, and anycombination thereof (collectively termed “graphics”). In someimplementations, some or all of the visual output corresponds touser-interface objects.

The touch screen 312 has a touch-sensitive surface, sensor or set ofsensors that accepts input from the user based on haptic and/or tactilecontact. The touch screen 312 and the display controller 356 (along withany associated modules and/or sets of instructions in memory 302) detectcontact (and any movement or breaking of the contact) on the touchscreen 312 and converts the detected contact into interaction withuser-interface objects (e.g., one or more soft keys, icons, web pages orimages) that are displayed on the touch screen 312. In an exemplaryimplementation, a point of contact between the touch screen 312 and theuser corresponds to a finger of the user.

The touch screen 312 optionally uses LCD (liquid crystal display)technology, LPD (light emitting polymer display) technology, or LED(light emitting diode) technology, although other display technologiesare used in other implementations. The touch screen 312 and the displaycontroller 356 optionally detect contact and any movement or breakingthereof using any of a plurality of touch sensing technologies now knownor later developed, including but not limited to capacitive, resistive,infrared, and surface acoustic wave technologies, as well as otherproximity sensor arrays or other elements for determining one or morepoints of contact with the touch screen 312.

In some implementations, in addition to the touch screen, the clientdevice 108/110 optionally includes a touchpad (not shown) for activatingor deactivating particular functions. In some implementations, thetouchpad is a touch-sensitive area of the device that, unlike the touchscreen, does not display visual output. The touchpad is, optionally, atouch-sensitive surface that is separate from the touch screen 312 or anextension of the touch-sensitive surface formed by the touch screen.

The client device 108/110 also includes a power system 362 for poweringthe various components. The power system 362 optionally includes a powermanagement system, one or more power sources (e.g., battery, alternatingcurrent (AC)), a recharging system, a power failure detection circuit, apower converter or inverter, a power status indicator (e.g., alight-emitting diode (LED)) and any other components associated with thegeneration, management and distribution of power in portable devices.

In some implementations, the software components stored in memory 302include an operating system 326, communication module (or set ofinstructions) 328, a contact/motion module (or set of instructions) 330,a graphics module (or set of instructions) 332, and one or moreapplications (or sets of instructions) 338.

The operating system 326 (e.g., Darwin, RTXC, LINUX, UNIX, OS X,WINDOWS, or an embedded operating system such as VxWorks) includesvarious software components and/or drivers for controlling and managinggeneral system tasks (e.g., memory management, storage device control,power management, etc.) and facilitates communication between varioushardware and software components.

The communication module 328 facilitates communication with otherdevices over one or more external ports 324 and also includes varioussoftware components for handling data received by the RF circuitry 308and/or the external port 324. The external port 324 (e.g., UniversalSerial Bus (USB), FIREWIRE, etc.) is adapted for coupling directly toother devices or indirectly over a network (e.g., the Internet, wirelessLAN, etc.).

The contact/motion module 330 optionally detects contact with the touchscreen 312 (in conjunction with a display controller 356) and othertouch sensitive devices (e.g., a touchpad or physical click wheel). Thecontact/motion module 330 includes various software components forperforming various operations related to detection of contact, such asdetermining if contact has occurred (e.g., detecting a finger-downevent), determining if there is movement of the contact and tracking themovement across the touch-sensitive surface (e.g., detecting one or morefinger-dragging events), and determining if the contact has ceased(e.g., detecting a finger-up event or a break in contact). Thecontact/motion module 330 receives contact data from the touch-sensitivesurface. Determining movement of the point of contact, which isrepresented by a series of contact data, optionally includes determiningspeed (magnitude), velocity (magnitude and direction), and/or anacceleration (a change in magnitude and/or direction) of the point ofcontact. These operations are, optionally, applied to single contacts(e.g., one finger contacts) or to multiple simultaneous contacts (e.g.,“multitouch”/multiple finger contacts). In some implementations, thecontact/motion module 330 and the display controller 356 detect contacton a touchpad.

The graphics module 332 includes various known software components forrendering and displaying graphics on the touch screen 312 or otherdisplay, including components for changing the visual impact (e.g.,brightness, transparency, saturation, contrast or other visual property)of graphics that are displayed. As used herein, the term “graphics”includes any object that can be displayed to a user, including withoutlimitation text, web pages, icons (such as user-interface objectsincluding soft keys), digital images, videos, animations and the like.

In some implementations, the graphics module 332 stores datarepresenting graphics to be used. Each graphic is, optionally, assigneda corresponding code. The graphics module 332 receives, fromapplications etc., one or more codes specifying graphics to be displayedalong with, if necessary, coordinate data and other graphic propertydata, and then generates screen image data to output to the displaycontroller 356.

The one or more applications 336 optionally include the followingmodules (or sets of instructions), or a subset or superset thereof:

-   -   a telephone module 339;    -   an instant messaging (IM) module 340;    -   a video & music player module 341;    -   a map module 342;    -   a camera module 343;    -   a browser module 344;

In conjunction with the touch screen 312, the display controller 356,the contact module 330, and the graphics module 332, and the one or moreother applications (e.g., video & music player module or browser module343) are, optionally, used to provide a user of the client device108/110 with a multimedia advertisement that includes a question and aplurality of predefined answers to the question. For example, in someimplementations, the video & music player module 341 is an app forstreaming video and music service (e.g., music videos are streamed tothe client device 108/110 for the user's entertainment). In somecircumstances, in order to provide free or inexpensive video and musicstreaming, the service intersperses the music videos with multimediaadvertisements. For example, after a music video ends, the service mayplay a multimedia advertisement (e.g., having video and soundcomponents) for an upcoming movie, while displaying (or, for example,audibly outputting in conjunction with the audio circuitry 310 and thespeaker 311) the question, “Do you plan to see this movie”). In someimplementations, the device also provides the plurality of predefinedanswers to the question (e.g., “Yes,” or “No”) in an analogous manner(e.g., displayed on the screen, audibly output, etc.). The client device108/110 may use any of its various input mechanisms (e.g., with the I/Osubsystem 306, or the microphone 313) to receive an answer to thequestion, and transmit the answer (e.g., through the external port 324,the network interface 368 and/or the RF circuit 308) to a server system(e.g., the ad server system 111-b, FIGS. 1 and 2).

Each of the above identified modules and applications corresponds to aset of executable instructions for performing one or more functionsdescribed above and the methods described in this application (e.g., thecomputer-implemented methods and other information processing methodsdescribed herein). These modules (i.e., sets of instructions) need notbe implemented as separate software programs, procedures or modules, andthus various subsets of these modules are, optionally, combined orotherwise re-arranged in various implementations. In someimplementations, memory 302 optionally stores a subset of the modulesand data structures identified above. Furthermore, memory 302 optionallystores additional modules and data structures not described above.

FIGS. 4A-4G illustrate user interfaces for multimedia advertising, inaccordance with some implementations. The user interfaces in thesefigures are used to illustrate the processes described below, includingthe processes in FIGS. 6A-6C, FIGS. 7A-7B, and FIGS. 8A-8D. Forconvenience of explanation, these user interfaces are illustrated withreference to a client device 108/110 with a touch screen display 312. Inparticular, these figures illustrate a sequence in which a user ispresented with a multimedia advertisement that includes a question and aplurality of predefined user responses to the question. The user of theclient device 108/110 votes (e.g., a selects one of the predefined userresponses to the question) in order to close the advertisement andreturn to the user's desired content (e.g., a website or a mobileapplication).

In FIG. 4A, the client device 108/110 displays a full-page multimediaadvertisement 402. In some implementations, the full-page multimediaadvertisement 402 is partially transparent, meaning that the underlyingcontent (e.g., a web page or a mobile app) is partially visible to theuser. In some implementations (e.g., for a tablet device), the full-pagemultimedia advertisement 402 is smaller than a display area (e.g., thearea of touch screen 312). In such implementations, the full-pagemultimedia advertisement, though smaller than the display area, iseffectively large enough to block the user from viewing the underlyingcontent.

In this example, the multimedia advertisement is a video advertisementfor an upcoming movie (e.g., a “trailer” for a movie with an upcomingrelease date). The multimedia advertisement includes a question 404,“Want to see?” asking the user of the client device whether he or sheintends to see the advertised movie. FIG. 4A also illustrates a clock406, which is shown merely for convenience of explanation, illustratingthe passage of time from a time T₀ corresponding to initiation of themultimedia advertisement. In some implementations, at the time T₀, thedevice does not display the user responses to the question nor does thedevice provide the user with a manner with which to respond to thequestion (e.g., a gesture on the touch screen 312 or a verbal responseusing voice-recognition), thus requiring the user to watch at least apredefined amount of the multimedia advertisement.

As shown in FIG. 4B, in some implementations, after a lapse of a firstpredetermined amount of time T₁, the device displays a plurality ofaffordances corresponding to the predefined user responses 408 to thequestion. In this example, the predefined user responses to the questionincludes two user responses within a slider bar 410, a response 408-acorresponding to “Yes,” and a response 408-b corresponding to “No.” Insome implementations, the device also displays a visual cue to the userthat voting will close the advertisement and allow the user to resumehis or her desired activity (e.g., browsing a web page, and using amobile app). In this example, the phrase “(Vote to close advertisement)”serves as such a visual cue.

As shown in FIG. 4C, in some implementations, after a lapse of a secondpredetermined amount of time, the client device 108/110 displays anad-skip affordance 412, selection of which causes the client device108/110 to close the advertisement without registering a vote by theuser (e.g., without the user answering the question).

FIG. 4D illustrates a scenario in which the device detects a contact 414at a location designated by 414-a on the touch screen 312, in accordancewith some implementations. As shown in FIG. 4E, the device detectsmovement of the gesture (e.g., movement while the contact 414 iscontinuously detected on the touch screen 312) to a location designatedby 414-b. The movement of the contact, in this example, signifies aright-swipe gesture thereby selecting the “Yes” user response.

It should be understood that, although the contact 414 is illustratedafter the appearance of the ad-skip affordance 412, in someimplementations, the user is able to “vote to close” at any point intime after the device displays the plurality of affordancescorresponding to the predefined user responses 408 to the question. Thatis to say, in some circumstances, the contact 414 is performed beforethe appearance of the ad-skip affordance 412.

As shown in FIG. 4F, in some implementations, after a user response tothe question is registered (e.g., detected and returned to the server)the device displays a representation of the information corresponding toan aggregated summary of the user responses. For example, as shown inFIG. 4F, the device displays a bar graph including bars 418 thatillustrate the percentage of users who responded by answering “Yes”(418-a) and the percentage of users who responded by answering “No”(418-b). In some implementations, the display of the informationcorresponding to the aggregated summary of the user responses is ananimated display. For example, the bars 418 “grow” in an animatedfashion until reaching their respective heights determined by theunderlying statistics (e.g., a height corresponding to 73% for the “Yes”answer and a height corresponding to 27% for the “No” answer). Thedisplay of this information (e.g., finding out how other people voted)is advantageous because it provides a reward to users for answering thequestion. This makes users more likely to engage with the advertisementand enjoy the experience of having the advertisement provided to them,which ultimately results in a more positive consumer impression of theadvertiser and more effective advertising.

As shown in FIG. 4G, after the user has voted (e.g., selected apredefined response to the question) and the device has optionallydisplayed a representation of the information corresponding to theaggregated summary of the user responses, the device closes theadvertisement, meaning that the entire screen, or nearly the entirescreen is available for the user to continue his or her desiredactivities on the device. With that said, in some implementations, anoptional banner through which the user can still access informationcorresponding to the advertisement continues to be displayed after theadvertisement is closed.

FIGS. 5A-5D illustrate additional user interfaces for voting to close anadvertisement, in accordance with some implementations. It should beappreciated that any of the user interface components depicted anddescribed with reference to FIGS. 5A-5D may be combined or used in lieuof any of the user interface components described with reference toFIGS. 4A-4G or any other user interface component described withreference to FIGS. 5A-5D.

FIG. 5A illustrates a graphical user interface 502-a for voting to closean advertisement. In accordance with some implementations, as shown inFIG. 5A, the advertisement is a banner multimedia advertisement 504(sometimes referred to as a “banner advertisement”). The banneradvertisement 504 includes a plurality of affordances (e.g., the buttons506), each of which corresponds to a predefined user response to thequestion. In some implementations, the banner advertisement 504 includesa question such as “Do you plan to see this movie?” and the buttons 506include a button 506-a corresponding to a “Yes” answer and a button506-b corresponding to a “No” answer. In some implementations, thebanner advertisement does not include buttons 506 and instead the devicedisplays an animated transition between the banner advertisement 504 anda larger advertisement (e.g., the full-page multimedia advertisement402, FIG. 4, or the medium-page multimedia advertisement 508, FIG. 5B).In such implementations, the plurality of affordances is presented inthe larger advertisement. In some implementations, the banneradvertisement 504 is partially transparent, meaning that the underlyingcontent (e.g., a web page or a mobile app) is partially visible to theuser.

FIG. 5B illustrates a graphical user interface 502-b for voting to closean advertisement. In accordance with some implementations, as shown inFIG. 5B, the advertisement is a medium-page multimedia advertisement 508(sometimes referred to as a “medium-page advertisement”). In thisexample, the plurality of affordances again includes buttons 506.However, in contrast to the graphical user interface 502-a shown in FIG.5A, the buttons 506 include more than 2 buttons (e.g., buttons 506-cthrough 506-g). In some implementations, the question asks the user toprovide a rating (e.g., a continuous or discrete value). For example,the medium-page multimedia advertisement 508 may include a question thatasks the user to rate their cable service, and each of the buttons 506in FIG. 5B corresponds to a value (e.g., a rating) between one and fivethat the user can enter in response to the question. In someimplementations where there are more than 2 buttons (e.g., buttons 506-cthrough 506-g), each of the buttons corresponds to a different answer;e.g., each button can present one answer in a set of answers to amultiple choice question.

FIG. 5C illustrates a graphical user interface 502-c for voting to closean advertisement. The graphical user interface 502-c in FIG. 5C isanalogous to the graphical user interface 502-b in FIG. 5B with thedifference that the plurality of affordances in the graphical userinterface 502-c a corresponding to the predefined user responses 512 tothe question are provided via a vertical slider bar 510. In thisexample, the predefined user responses to the question includes two userresponses: a response 512-a corresponding to “Yes,” and a response 512-bcorresponding to “No.”

FIG. 5D illustrates a graphical user interface 502-d for voting to closean advertisement. The graphical user interface 502-d includes anembedded advertisement 514. In some implementations, the embeddedadvertisement 514 is embedded into a web page or a mobile application(e.g., when the user scrolls up or down within the web page, theembedded advertisement 514 moves correspondingly).

FIGS. 6A-6C are flow diagrams illustrating a method 600 of multimediaadvertisement in accordance with some implementations. In particular,the method 600 is a method of “voting to close” a multimediaadvertisement, in accordance with some implementations. In someimplementations, the method 600 is performed at an electronic device(e.g., the client device 108/110) with a display. In someimplementations, the display is a touch screen display (e.g., the touchscreen 312, FIG. 3) and the touch-sensitive surface is on the display.In some implementations, the display is separate from an input deviceused by the user to vote.

In various implementations, some operations of the method 600 may becombined and/or the order of some operations may be changed from theorder shown in the figures. Also, in some implementations, operationsshown in separate figures and/or discussed in association with separatemethods (e.g., method 700, FIGS. 7A-7B and/or method 800, FIGS. 8A-8D)may be combined to form other methods, and operations shown in the samefigure and/or discussed in association with the same method may beseparated into different methods. Moreover, in some implementations, oneor more operations in the methods are performed by modules of the clientdevice 108/110 shown in FIG. 3, including, for example, processor(s)320, I/O subsystem 306, memory 302, network interface 368, and/or anysub modules thereof.

In some implementations, a server system (e.g., the ad server system111-b, FIG. 1) instructs the client device to perform some or all of theoperations of the method 600. Some operations in the method 600 are,optionally, combined and/or the order of some operations is, optionally,changed.

As described below, the method 600 provides an intuitive and engagingway of closing an advertisement. The method rewards a user for voting toclose the advertisement rather than simply skipping the advertisement inat least two ways: (1) by allowing the user to close the advertisementsooner (by voting) and/or (2) by providing feedback to the user (e.g.,as shown FIG. 4F) that is unavailable if the user simply skips theadvertisement, thus creating a more efficient advertising interface thatis more amenable to device users.

In some implementations, the device displays (602) a first userinterface that includes a banner corresponding to a multimediaadvertisement (e.g., the banner advertisement 504, FIG. 5A). Themultimedia advertisement includes a question, which may or may not bedisplayed or otherwise presented to the user during display of thebanner. In some implementations, the device detects (604) selection ofthe banner corresponding to the multimedia advertisement (e.g., via auser input such as a touch input or gesture located over the banner on atouch screen). Alternatively, the device need not detect selection ofthe banner in order to continue the method 600. In some implementations,the device displays (606) an animated transition between the first userinterface and a second user interface (e.g., as shown in FIG. 4A).

The device initiates (608) display of the multimedia advertisement(e.g., the full-page multimedia advertisement 402, FIG. 4A, or any ofthe multimedia advertisements illustrated in FIGS. 5A-5D). In someimplementations, display of the multimedia advertisement is initiated(610) in a respective region of the second user interface. In someimplementations, the respective region is (612) substantially the entireregion of the display, thus requiring the user to pay attention themultimedia advertisement before continuing with other user activities onthe device (browsing the web, using an app, etc.). In someimplementations, the question corresponding to the multimediaadvertisement is displayed or otherwise presented to the user uponinitiation of display of the multimedia advertisement.

In some implementations, the multimedia advertisement is selected (614)from a plurality of multimedia advertisements stored on an advertisementserver and is selected in accordance with demographic information aboutthe user. In some implementations, the demographic information isobtained (616) using an identifier (e.g., a hashed identifier) of theuser (e.g., a hashed email address, a unique identifier (UDID) value, anidentifier for advertisers (IDFA/IFA) value, or a cookie ID value). Insome implementations, the advertisement server uses the identifier toaccess a profile corresponding to the user (or to a demographic group towhich the user belongs) in order to identify an advertisement that is ofinterest to the user.

In some implementations, the device formats (618) the multimediaadvertisement in accordance with a respective one of the mobile app andthe mobile web browser.

In some implementations, the device returns (620), to a server system(e.g., the ad server system 111-b, FIG. 1), identifying informationformatted in accordance with the respective one of the mobile app andthe mobile web browser. In some implementations, the identifyinginformation is used by the identification and fingerprinting sub-module211 to produce a unique (or nearly so) user identifier (e.g., afingerprint ID) that can be matched to identifying information formattedin accordance with the other one of the mobile app and the mobile webbrowser. The unique user identifier can then be used to be used toconstruct and maintain a single profile for the user (e.g., withdemographic information, voting history information, etc.) usinginformation obtained from both the user's mobile browser and the user'smobile applications.

Upon a lapse of a predetermined amount of time following initiatingdisplay of the multimedia advertisement, the device displays (622) aplurality of affordances on the display. Each affordance in theplurality of affordances corresponds to a respective user response tothe question. For example, as shown in FIG. 4B, the device displays aslider bar 410 with a plurality of affordances corresponding torespective user responses to the question (e.g., the responses 408-a and408-b).

In some implementations, upon a lapse of a second predetermined amountof time following initiating display of the multimedia advertisement,the device displays (624) an ad-skip affordance (e.g., the ad-skipaffordance 412, FIG. 4C). In response to selection of the ad-skipaffordance, the device discontinues (626) display of the multimediaadvertisement without selection a respective user response to thequestion.

Assuming that the ad-skip affordance has not been selected, and themultimedia advertisement continues to be displayed, the device detects(628) a user input that selects a respective affordance of the pluralityof affordances, thereby selecting a respective user response to thequestion.

In some implementations, the user input is (630) a continuously detectedgesture on a touch-sensitive surface starting at a first location on thetouch-sensitive surface and terminating at one of a second location or athird location on the touch sensitive surface (e.g., the contact 414,FIGS. 4D and 4E). The second location is an affordance that identifies afirst user response (e.g., the response 408-a, FIG. 4D) associated withthe multimedia advertisement and the third location is an affordancethat identifies a second user response associated with the multimediaadvertisement (the response 408-b, FIG. 4D). In some implementations,the first user response represents (632) a positive user opinionassociated with the multimedia advertisement. The second user responserepresents a negative user opinion associated with the multimediaadvertisement. In some implementations, the second location thatidentifies the first user response is (634) a location to the right ofthe third location. Positioning the positive user response to the rightof the third location in some implementations takes advantage of anatural bias of mobile device users to swipe from left-to-right. Thisobservation is based on the prevalence of left-to-right swiping unlockfeatures. Thus, positioning the positive user response to the right ofthe third location is a tactic that can be employed at the request ofadvertisers to increase the number of positive responses to thequestion, which can be particularly useful when an aggregated summary ofuser responses is displayed to the user after the user votes (e.g., asdescribed with reference to FIG. 4F, and operations 640 through 646 ofmethod 600), thereby presenting a positive market consensus opinion ofthe product or service being advertised.

In some circumstances, an advertiser may wish to remove such a bias fromuser responses to the questions. To that end, in some implementations,at least one of the first location and the second location is (636)assigned randomly. This tactic can be particularly useful when accuratedata (e.g., data from user responses) is needed, for example, duringbranding campaigns (e.g., branding surveys), and for data mining asdescribed with reference to the method 800 (FIGS. 8A-8D).

In any event, upon detection of the user input, the device discontinues(638) display of the multimedia advertisement. Thus, in someimplementations, the user may “vote to close” the advertisement.

In some implementations, the device reports (640) information to aserver system corresponding to the selected user response and receives(642), from the server system, information corresponding to anaggregated summary of user responses associated with the multimediaadvertisement.

In some implementations, upon detection of the user input, the devicedisplays (644) a representation of the information corresponding to theaggregated summary of the user responses (e.g., as shown in FIG. 4F). Insome implementations, displaying the representation of the informationcorresponding to the aggregated summary of the user responses includes(646) displaying an animation. For example, in some implementations, thedevice displays an animation of the multimedia advertisement “fadingout” to reveal the representation of user responses. Alternatively, orin addition, as described with reference to FIG. 4F, the representationincludes bars (i.e., of a bar graph) representing respective userresponses and the bars “grow” in an animated fashion until reachingtheir respective heights as determined by the underlying statistics.

It should be understood that the particular order in which theoperations in FIGS. 6A-6C have been described is merely exemplary and isnot intended to indicate that the described order is the only order inwhich the operations could be performed. One of ordinary skill in theart would recognize various ways to reorder the operations describedherein.

FIGS. 7A-7B are flow diagrams illustrating a method 700 of multimediaadvertising, in accordance with some implementations. In particular, themethod 700 is a method of serving a “vote to close” multimediaadvertisement to a client device, in accordance with someimplementations. In some implementations, the method 700 is performed ata server system (e.g., the ad server system 111-b, FIG. 1). In someimplementations, various operations performed with reference to themethod 700 can be distributed across multiple servers or multiple serversystems.

In various implementations, some operations of method 700 may becombined and/or the order of some operations may be changed from theorder shown in the figures. Also, in some implementations, operationsshown in separate figures and/or discussed in association with separatemethods (e.g., method 600, FIGS. 6A-6C and/or method 800, FIGS. 8A-8D)may be combined to form other methods, and operations shown in the samefigure and/or discussed in association with the same method may beseparated into different methods. Moreover, in some implementations, oneor more operations in the methods are performed by modules of ad serversystem 111-b shown in FIG. 2, including, for example, CPU(s) 202, memory206, network interface 208 and/or any sub modules thereof.

The method includes receiving (702), at the server system, anadvertisement request for an advertisement to be served to a clientdevice.

The server system selects (704) a respective multimedia advertisementfrom a plurality of multimedia advertisements being stored on the serversystem. The respective multimedia advertisement includes a question anda plurality of predetermined user responses to the question. In someimplementations, the request includes (706) identifying informationformatted in accordance with a respective one of the mobile app and themobile web browser. In some implementations, the server system uses(708) the identifying information for the selection of the respectivemultimedia advertisement from the plurality of multimedia advertisementsbeing stored on the server system. For example, in some implementation,the device uses first information obtained from a mobile app the clientdevice for the purposes of fingerprinting said first information tosecond information obtained from the mobile browser of the clientdevice. Fingerprinting in this manner can improve selection of anadvertisement based on demographics (e.g., a demographic profile can beconstructed based on information from a user's mobile apps incombination with information obtained from the user's mobile browser)and can also be used to ensure that the user is not asked to vote on thesame question twice (e.g., once in a mobile app and once in a webbrowser).

The server system transmits (710) the respective multimediaadvertisement to the client device. The server system receives (712),from the client device, a respective user response of the plurality ofpredetermined user responses to the question.

In some implementations, the server system stores (714) an aggregatedsummary of user responses associated with the multimedia advertisement.In some implementations, the server system determines (716) whether theaggregated summary represents a positive aggregate user opinioncorresponding to the multimedia advertisement. In some implementations,the server system transmits (718) the information corresponding to theaggregated summary of user responses associated with the multimediaadvertisement to the client device (e.g., for display as shown in FIG.4F). In some implementations, the transmitting operation 718 occurs inaccordance with the determination that the aggregated summary representsa positive aggregate user opinion corresponding to the multimediaadvertisement, whereas if the server opinion determines that theaggregated summary does not represent a positive opinion correspondingto the multimedia advertisement (e.g., represents a negative opinion)the server system forgoes (e.g., suppresses) transmitting operation 718.In this manner, advertiser's can control the display of information sothat the information is displayed only when it paints a positive pictureof their products and services.

In some implementations, upon receiving (720), from the client device,the respective user response, the device selects (722) a secondrespective one in a series of multimedia advertisements from theplurality of multimedia advertisements being stored on the serversystem. The second respective one is a multimedia advertisement thatincludes a second question and a second plurality of predetermined userresponses to the question. The server system transmits (724) the secondrespective one in the series of multimedia advertisements to the clientdevice. In some implementations, the server system receives (726), fromthe client device, a second respective user response of the secondplurality of predetermined user responses to the question. In thismanner, advertiser's can have users participate quickly and efficientlyin branding campaigns (e.g., branding surveys). Such campaigns are moreconvenient and more likely to be utilized than conventional methods ofbranding campaigns, such as asking the user to participate in a surveythat will require the user to navigate to a third party website.

It should be understood that the particular order in which theoperations in FIGS. 7A-7B have been described is merely exemplary and isnot intended to indicate that the described order is the only order inwhich the operations could be performed. One of ordinary skill in theart would recognize various ways to reorder the operations describedherein.

FIGS. 8A-8D are flow diagrams illustrating a method 800 of targetingmultimedia advertising campaigns, in accordance with someimplementations. In particular, the method 800 targets multimediaadvertisements based on a user's response to advertising questions(e.g., responses to the “vote to close” multimedia advertisementquestions described with reference to the method 600, FIGS. 6A-6C and/orthe method 700, FIGS. 7A-7B). In some implementations, the method 800 isperformed at a server system (e.g., the ad server system 111-b, FIG. 1).In some implementations, various operations performed with reference tothe method 800 can be distributed across multiple servers or multipleserver systems (e.g., the publisher server system 111-a, the contentdelivery server system 111-c, and/or other mediators, advertisertracking systems, and the like). For ease of explanation, the method 800is described with reference to a single server system (“the serversystem”).

The server system accesses (802) a branding profile corresponding to aclient device. The branding profile includes one or more demographicsassociated with a user of the client device. The one or moredemographics are selected from a plurality of predefined demographics.In some embodiments, the demographics include interest demographics ofthe user, geographical demographics of the user, age demographics of theuser, gender demographics of the user, past purchase demographics of theuser, predicted purchase demographics of the user (e.g., “in-market”demographics, indicating that the user is in the market for a product ora category of products), and/or device data demographics of the user. Invarious circumstances, the user can self-identify as belonging to ademographic (e.g., by filling out a user profile and/or answering“demographic determinative questions,” as described below), thedemographics can be ascertained (e.g., inferred) using a history of oneor more of the user's responses to questions, and/or imported from athird party (e.g., by using an API to access a user's social mediaprofile).

For example, a respective user may be associated with one agedemographic determined from his Facebook profile (e.g., a 20-29 year oldage range, or alternatively, a specific age, such as 26 years old),three past purchase demographics determined directly from his answers toadvertising questions (e.g., the user has identified himself in theanswers as a buyer of sports cars, music equipment, and educationalmaterial) and one inferred gender demographic (e.g., a male demographicinferred from a history of responses to advertising questions), whereasanother user may be associated with several in-market demographics butno other demographics.

In some embodiments, the demographics are arranged in a hierarchy,meaning that a demographic may have several daughter or parentdemographics. For example, an interest demographic for “automobiles” mayhave daughter demographics for “sports cars”; “minivans”; “trucks”;“motorcycles”; and the like. In some embodiments, if a user isassociated with a demographic that has one or more parent demographics,the user is automatically associated with (e.g., will inherit) the oneor more parent demographics. Thus, a user who is interested in “sportscars” is also interested in “automobiles.” Since the converse is notnecessarily true, in some embodiments, a user will not inherit daughterdemographics (e.g., a user interested in automobiles is not necessarilyinterested in minivans). In some embodiments, the server systemdetermines which demographics are inherited and stores the inheriteddemographics in the branding profile (e.g., as shown in FIG. 10).Alternatively, in some embodiments, the server system stores only thelowest-level demographics in the branding profile. In suchcircumstances, when the server system selects an advertising campaign(e.g., see operations 806-820), the server system checks a demographichierarchy on the server system to determine whether any of the user'sbranding profile demographics have parent demographics that areassociated with any potential advertising campaigns. If so, in someembodiments, the user's branding profile is considered associated withthose parent demographics for the purposes of assessing the relevance ofthe advertising campaign to the user (e.g., see operation 812).

In some embodiments, accessing the branding profile includes (804) usingat least one of a plurality of identifiers corresponding to the clientdevice. The plurality of identifiers (IDs) includes a device issuedidentifier (e.g., device ID 1004-1, FIG. 10) and a device fingerprintidentifier (e.g., fingerprint ID 1004-3, FIG. 10). The plurality ofidentifiers also optionally includes a cookie ID (e.g., cookie ID1004-2, FIG. 10). In some embodiments, the fingerprint identifier is anearly unique bit string corresponding to the branding profile (e.g.,the fingerprint identifier has a high probability of uniquelycorresponding to a respective branding profile among all of the brandingprofiles stored on or accessible to the server system). In someembodiments, the server system generates the device fingerprintidentifier by mapping fingerprinting information (e.g., fingerprintinginformation 902-1, FIG. 9) onto the nearly unique bit string and storesthe bit string as the fingerprint identifier. In some embodiments, thefingerprinting information includes a subset of the following (or all ofthe following): device type information, screen size information, colordepth information, an operating system identifier, one or more languageidentifiers, system font information, browser plug-in information, useragent information, a time zone identifier, and/or an Internet protocol(IP) address.

The server system selects (806) an advertising campaign in accordancewith the one or more demographics. The advertising campaign includes apool of multimedia advertisements and a pool of questions. Theadvertising campaign is associated with a subset of the one or moredemographics. In some embodiments, the advertising campaign isassociated with an advertising campaign profile stored on the serversystem. The advertising campaign profile includes information indicatingwhich demographics the advertising campaign is targeting (hereinreferred to as “targeted demographics”). For example, as described inmore detail with reference to FIG. 11, an advertising campaign maytarget men (i.e., a gender demographic), between the ages of 25-44 yearsold (i.e., an age range demographic), in several different zip codes(i.e., a geographical demographic).

In some embodiments, the advertising campaign is associated with anadvertiser. For example, an automobile manufacture may have produced aseries of advertisements (e.g., a plurality of advertisements) for aline of pick-up trucks manufactured and sold by the automobilemanufacture. In such circumstances, the advertising campaign may include(e.g., consist of) the series of advertisements.

Alternatively, the advertising campaign may not be associated with aparticular advertiser, and may instead be associated with a particularinterest (e.g., an interest demographic). Thus, such an advertisingcampaign may be a “pick-up truck” advertising campaign that includesadvertisements from a plurality of automobile manufacturers. Eachmultimedia advertisement in the advertising campaign will promote thecorresponding manufacture's pick-up truck. In some circumstances, suchan advertising campaign can be created and maintained by a company thatmaintains the server system in order to provide its advertisement hosts(e.g., content publishers, such as web pages or mobile app producers)with advertisements that are relevant to their audience. Since nopublisher wishes to annoy its customers with irrelevant advertisements,constructing an advertising campaign in this manner serves to assuagethe publishers' concerns about alienating their viewership, readership,or the like. In turn, the publishers will be more amenable to hostingadvertisements.

In some embodiments, the advertising campaign is (810) a respectiveadvertising campaign of a plurality of advertising campaigns. Selectingan advertising campaign includes determining (812) one or more of theplurality of advertising campaigns that meet predefined criteria withrespect to the one or more demographics. For example, in someembodiments, determining if a respective advertising campaign meets thepredefined criteria includes determining if a threshold number of targetdemographics match the one or more demographics in the branding profile(e.g., at least three of the target demographics must match the brandingprofile). Such demographics are referred to herein as “matchingdemographics.” In other words, in some embodiments, the predefinedcriteria are met when the number of matching demographics is greaterthan or equal to the threshold number of target demographics.

In some embodiments, a mapping is performed in order to determinewhether a target demographic matches a branding profile demographic (andis therefore a matching demographic). For example, the branding profilemay include geographical coordinates expressed in latitude and longitude(e.g., obtained through a global positioning system (GPS) on the clientdevice). The advertising campaign, however, may target specific zipcodes (e.g., because the advertising campaign is for a retailer that haslocations in the targeted zip codes). In some circumstances, the serversystem maps the latitude and longitude coordinates to a respective zipcode and determines whether the zip code matches a targeted zip code.Similarly, the branding profile may include an age of the user (e.g., 25years old) while an advertising campaign targets consumers within an agerange (e.g., 20-35 years old). Thus, in some circumstances, the serversystem maps an age to a respective targeted age range and determineswhether the user's age matches the age range.

In some embodiments, the target demographics include requireddemographics. The predefined criteria with respect to the one or moredemographics include that the branding profile match all of the requireddemographics. For example, an advertising campaign for a women'sdeodorant may require that the user is a woman (according to herbranding profile).

In some embodiments, the target demographics include “reject”demographics. For example, an advertising campaign for women's deodorantmay choose to “reject” men, rather than require that the user be awoman, because the advertising campaign is interested in targeting bothknown women and user's whose gender is not known (e.g., the user'sbranding profile includes a “null” gender demographic). In someembodiments, the reject demographics are required reject demographics,meaning if a user's branding profile indicates that the user belongs toany of an advertising campaign's required reject demographics, theserver system is prevented from serving (e.g., providing) advertisementsfrom the advertising campaign to the user. Alternatively, in someembodiments, the reject demographics count against other predefinedcriteria. For example, if an advertising campaign requires at leastthree matching demographics, in some embodiments, a matching rejectdemographic reduces the number of matching demographics by one (e.g., itserves as a “negative” match).

In some embodiments, the target demographics are automatically generatedbased at least in part on data mining of historical responses of users.In some embodiments, the server system indexes and stores historicalresponses to questions as well as demographic information about theusers who gave those responses. The server system mines the historicalresponses to the questions and the demographic information to discovertrends. For example, an advertising campaign promoting a line of pick-uptrucks will include the question, “Are you in the market for a pick-uptruck?” If the server system determines, based on mining the userresponses to this question, that a significantly higher fraction ofmales between the ages of 20-35 years old have answered “Yes” to thisquestion (e.g., using any known statistical test, such a p-value test,to determine significance), the server system will associate a maledemographic and a 20-25 year old age range demographic with theadvertising campaign as a “target demographics” (e.g., by storinginformation identifying those demographics in the advertising campaign'sprofile).

In some embodiments, selecting an advertising campaign further includesranking (814) the one or more advertising campaigns at least partiallybased on compatibility between the individual advertising campaigns andthe one or more demographics of the branding profile. In someembodiments, the server system calculates a score (e.g., a metric) foreach of the one or more advertising campaigns and ranks the one or moreadvertising campaigns based on the score. In some embodiments, theranking of the one or more advertising campaigns is (816) based at leastin part on data mining of historical responses of users associated withthe one or more demographics to questions included in the plurality ofadvertising campaigns. For example, in some embodiments, thescore/metric S is calculating using the equation:

$\begin{matrix}{S = {- {\sum\limits_{i}{\log\left( p_{i} \right)}}}} & (1)\end{matrix}$in which the sum runs over all matching demographics and p_(i) is ap-value that indicates a level of presumption, based on data mining ofhistorical data, against a neutral hypothesis for a respective matchingdemographic. The neutral hypothesis represents a hypothesis that membersof the respective matching demographic respond to one or more questionsassociated with an advertising campaign in the same statistical way thata general population responds to the one or more questions associatedwith the advertising campaign.

In some embodiments, the advertising campaign with the highest score Sis selected and a multimedia advertisement from the selected advertisingcampaign is served to the user. Thus, in some embodiments (based on Eq.(1) above), an advertising campaign with more matching demographics hasa selection advantage because the sum will extend over a larger numberof demographics, as compared to an advertising campaign with fewermatching demographics. But this advantage can be overcome, in somecircumstances, by an advertising campaign that matches extremely well tothe branding profile (e.g., the matching demographics have very lowp-values, indicating a strong presumption against a neutral hypothesis).

In some embodiments, the ranking of the one or more advertisingcampaigns is (818) based at least in part on monetary bids associatedwith the one or more advertising campaigns. For example, as shown inFIG. 11, in some embodiments, various advertising campaigns can beassociated with different bid levels. A first advertiser may pay a firstprice for a bid level of “1,” whereas a second advertiser may pay asecond, higher, price for a bid level of “2.” In such embodiments, theserver system will use a leveling scheme to provide proportionally moreadvertisements from the second advertiser (e.g., in accordance with thecontractual terms between the first advertiser, second advertiser, andthe company managing the server system).

In any event, the server system selects (820) the respective advertisingcampaign based on the ranking of the one or more advertising campaigns.

The server system then selects (822), from the respective advertisingcampaign, a multimedia advertisement from the pool of multimediaadvertisements and a question from the pool of questions (e.g., to beserved, or provided, to the user). In some embodiments, the question isassociated with a particular multimedia advertisement (e.g., in aone-to-one fashion), such that selection of a respective multimediaadvertisement also fully determines selection of the associatedquestion.

The question is associated with a plurality of predefined answers to thequestion. In some embodiments, the plurality of predefined answers tothe question includes a predefined answer corresponding to approval of arespective subject associated with the multimedia advertisement and apredefined answer corresponding to disapproval of the respectivesubject. In various embodiments, the subject is (826) one of the groupconsisting of:

-   -   a product associated with the multimedia advertisement (e.g.,        the question is “Do you like this product?” and the predefined        answers include “Yes” and “No”);    -   content of the multimedia advertisement (e.g., the question is        “How do you feel about this commercial?” and the predefined        answers include “Like” and “Dislike”);    -   a brand associated with the multimedia advertisement (e.g., the        question is “Rate this brand” and the predefined answers include        “1”; “2”; “3”; “4”; and “5”); and    -   a product category that a product associated with the multimedia        advertisement belongs to (e.g., the question is “Are you        interested in the market for a new car?” and the predefined        answers include “Yes” and “No”).

In some embodiments, the predefined answer corresponding to approvalsignifies intent to engage in a transaction associated with therespective subject of the multimedia advertisement. Conversely, thepredefined answer corresponding to disapproval signifies intent to forgoengaging in a transaction associated with the respective subject of themultimedia advertisement. For example, as shown in FIG. 4A, the question(“Want to see?”) asks whether the user intends on seeing the movie(i.e., the subject) that full-page multimedia advertisement 402 ispromoting. As shown in FIG. 4B, the question is associated with aplurality of predefined answers, namely: an answer “Yes” correspondingto approval of the respective subject (the movie), and an answer “No”corresponding to disapproval of the respective subject. Thus, interestin seeing the movie, or more generally, engaging in a transactionassociated with the multimedia advertisement is considered approval,while intent to forgo a transaction is considered disapproval.

The server system transmits (830) instructions to the client device forpresenting (832) the multimedia advertisement and concurrentlypresenting (834) the question with the multimedia advertisement. As usedherein, the term concurrently presenting should be construed to meanthat there is at least some overlap in time when the multimediaadvertisement and the question are presented. The multimediaadvertisement and question need not be presented for identicalconcurrent periods of time, although they can be.

In some embodiments, sending instructions to the client device forpresenting the multimedia advertisement includes sending advertisementinformation (e.g., including a universal resource locator (URL) and anadvertisement identifier) to the client device. The client device usesthe advertisement information to retrieve the content of the multimediaadvertisement from a different server system (e.g., the client deviceretrieves a file, such as a JavaScript (JS) file from the contentdelivery server system 111-c, FIG. 1). In some embodiments, theadvertisement information includes instructions for the client device toperform other tasks, such as contact an advertiser's tracking system(e.g., an advertiser's impression tracker) to record an impression.

The server system also transmits instructions to the client device forproviding (836) a respective affordance on the client devicecorresponding to each of the predefined answers to the question (e.g.,any of the buttons, swipe affordances, and/or other affordances shown inFIGS. 4A-4G and/or FIGS. 5A-5D). In some embodiments, the instructionsfor providing a respective affordance corresponding to each of thepredefined answers to the question include text associated with each ofthe predefined answers to the question (e.g., text that poses thequestion, such as “Do you want to buy this product?”).

The server system receives (838), from the client device, a responsecorresponding to one of the predefined answers to the question. In somecircumstances, the received response is considered an “impression”(e.g., the received response is received by a the server system'simpression tracker, such as impression tracking sub-module 213, FIG. 2).The server system updates (840), based on the response to the question,the branding profile corresponding to the client device.

For example, in some circumstances, the questions include “demographicdeterminative” questions, such as “Are you in the market for a car?”When the received response indicates that the user is in the market fora car, the branding profile is updated with a “predicted purchase→car”demographic. Conversely, in some embodiments, when the received responseindicates that the user is not in the market for a car, the brandingprofile is updated with the “predicted purchase→car” demographic and a“NOT” identifier (e.g., NOT tags 1014, FIG. 10) that logically negatesthe “predicted purchase→car” demographic (i.e., signifying that the useris not in the market for a car).

Alternatively, rather than updating the branding profile based on asingle demographic determinative question, in some embodiments, theserver system determines (842), based on responses received to aplurality of questions, one or more demographics that the user belongsto and updates (844) the user's branding profile to include thosedetermined demographics. For example, the server system may receiveresponses to a plurality of questions from a user with an unknowngender. In some embodiments, the server system will compare the user'sresponses with historical responses to the same questions from a cohortof user's having known genders (e.g., the gender for the cohort of usersmay be known from 3rd party data, e.g., via an API for a 3rd partysocial media website). The system may then determine (e.g., based on astatistical algorithm) that there is a strong likelihood (e.g., greaterthan 95%) that the user is male based on his responses to the pluralityof questions and will update the user's branding profile to include amale demographic.

In some embodiments, when the received response to the multimediaadvertisement is (846) the predefined answer corresponding to approvalof the respective subject (see 824), the branding profile is updatedsuch that a second multimedia advertisement is selected that has agreater degree of similarity to the respective subject than when thereceived response to the multimedia advertisement is the predefinedanswer corresponding to disapproval of the respective subject. Forexample, the question “Are you in the market for a car?” may be theassociated with a car dealer's advertising campaign. If the responseindicates that the user is in the market for a car, the server systemmay continue to provide multimedia advertisements from the car dealer'sadvertising campaign. Conversely, if the response indicates that theuser is not in the market for a car, the server system may select adifferent advertising campaign to select the second multimediaadvertisement from (e.g., because the “predicted purchase→car” is arequired demographic for the car dealer's advertising campaign). In thissense, the targeted advertising methods described herein dynamicallyadjust to information known about the user.

In some embodiments, the server system updates (848), based on theresponse to the question, demographics that the advertising campaign isassociated with. For example, the server system will index and store theuser's response to the question (e.g., in historical data 220, FIG. 2)and use the response for future data mining, as described with above, todetermine demographics that are amenable to the advertising campaign.

FIG. 9 illustrates examples of various types of identifying information902 that can be used to identify a single client device 108/110, inaccordance with some implementations. A single client device may requestadvertisements from a plurality of platforms running on the clientdevice. For example, an iOS device may request ads from its mobile webbrowser and also request ads from its various mobile applications.Similarly, an Android device may request ads from its mobile web browserand also request ads from its various mobile applications. In somecircumstances, different identifying information is available from thedifferent platforms. Despite these differences, the user of the clientdevice is likely to be the same user regardless of whether he or she isusing a mobile application or a web browser. The gender, age, interests,and other demographics of the user are unlikely to change depending onwhether the request is coming from a mobile application or a webbrowser. To this end, in some embodiments, the ad server system 111-buses fingerprint information 902-1 to map identifying informationreceived from different platforms onto a single unique identifier forthe client device. This allows the client device to have a singlecorresponding branding profile.

As a specific example, the current iOS web browser does not allowadvertisers to install 3rd party cookies (at least without the usertaking additional action, such as clicking on a link for anadvertisement). However, certain types of fingerprinting information902-1 are available to the ad server system 111-b. In variouscircumstances, the fingerprinting information 902-1 includes: devicetype information, screen size information, color depth information, anoperating system identifier, one or more language identifiers, systemfont information, browser plug-in information, user agent information, atime zone identifier, and/or an Internet protocol (IP) address, or acombination thereof. In some embodiments, when an ad request is receivedfrom an iOS web browser, the ad server system 111-b receives thefingerprinting information 902-1 and maps it onto a nearly uniquefingerprint identifier (ID). On the other hand, when a mobileapplication running on an iOS device sends an ad request, in someembodiments, the ad server system 111-b receives an identifier foradvertisers (IDFA) 902-2, which is a device issued identifier, and alsoreceives the fingerprinting information 902-1. As long as thefingerprinting information 902-1 has not changed, the ad server system111-b maps the fingerprinting information 902-1 to the same nearlyunique fingerprint ID and associates the nearly unique fingerprint IDwith the IDFA 902-2 such that, when a subsequent ad request is received,the same branding profile is accessed regardless of whether the adserver system 111-b receives the fingerprint information 902-1 or theIDFA 902-2. The IDFA 902-2 can then be used to update the mapping to thefingerprint ID whenever the fingerprinting information 902-1 does change(e.g., because an Internet provider changed the devices IP address).

As another specific example, unlike the current iOS web browser,Android's current web browser does allow advertisers to install 3rdparty cookies. Thus, in the case of an ad request from an Android webbrowser, in some embodiments, the ad server system 111-b receives an adserver cookie ID 902-3 and also receives the fingerprinting information902-1. When the request comes from a mobile application running on anAndroid device, the ad server system 111-b receives an Android device ID902-4, which is a device issued ID, and also receives the fingerprintinginformation 902-1. In an analogous manner, in some embodiments, thefingerprinting information 902-1 is mapped to a nearly uniquefingerprint ID, which is then used to map the Android device ID 902-3 tothe ad server cookie ID 902-4, so that they both access the samebranding profile.

FIG. 10 illustrates a data structure for a branding profile 1002corresponding to a client device, in accordance with someimplementations. The branding profile 1002 is accessible using aplurality of profile identifiers (IDs) 1004 corresponding to the clientdevice, including: a device ID 1004-1 (e.g., a device issued ID such asIDFA 902-2 or Android device ID 902-4, FIG. 9); a cookie ID 1004-2(e.g., ad server cookie ID 902-3, FIG. 9); and a fingerprint ID 1004-3(e.g., an ID generated using fingerprinting information 902-1, FIG. 9).

The branding profile 1002 also stores a plurality of demographics,including:

-   -   A gender demographic 1006 (e.g., the value 1006-a of which can        be male, female, or NULL if the user's gender is not known).    -   An age demographic 1008 (e.g., the value 1008-a of which can be        a specific age in years, a predefined age range, or NULL if the        user's age is unknown).    -   A location demographic 1010 (e.g., the value 1010-a of which can        be expressed as latitude and longitude coordinates, or NULL if        the user's coordinates are unknown).    -   One or more interest demographics 1012 (e.g., which can include        multiple values 1012-a such as a first interest 1012-1        representing cars, a second interest 1012-2 representing        fishing, and so on, up to an Nth interest 1012-N). The one or        more interest demographics 1012 also optionally include a field        for a NOT tag 1014 that indicates that the user is known to be        not interested in a certain subject (such as cars). For example,        NOT tag 1014-1 is flagged, indicating that the user is not        interested in interest 1012-1, while NOT tags 1014-2 and 1014-N        are empty, indicating that the user is interested in interests        1012-2 and 1012-N.    -   One or more past purchase demographics 1016, (e.g., which can        include multiple values 1016-a and have an analogous structure        to the one or more interest demographics and thus are not shown        in detail).

In some circumstances, the ad server system 111-b can retrieve data 1118about the user from whom a respective branding profile belong (e.g.,through an API provided by a social media website or through data miningas described with reference operations 842-844 (FIGS. 8A-8D)). In someembodiments, the data 1118 is used to update the branding profile 1002.

In some embodiments, the ad server system 111-b manages conflictsbetween the branding profile 1002 and the incoming data 1118. Forexample, if data 1118 includes a gender value 1006-b that indicates amale user, and the branding profile's gender value 1006-a indicates afemale user, in some embodiments, the ad server system 111-b willdetermine which of the two values is more reliable based on predefinedcriteria. In some embodiments, the ad server system 111-b will overwritethe gender value 1006-a if the gender value 1006-b is obtained directlyfrom the user's social media (e.g., is obtained via an API), but not ifthe gender value 1006-b is obtained through data mining (which ispresumed to be less reliable). In some embodiments, the ad server system111-b will always overwrite NULL values for the gender.

In a similar manner, the ad server system 111-b will manage conflictsbetween an age value 1008-a of the branding profile and an age value1008-b of the data 1118, and a location value 1010-a of the brandingprofile and a location value 1010-b of the data 1118. In someembodiments, the ad server system 111-b will add interests 1012-b of thedata 1118 to interests 1012-a of the branding profile, unless a conflictexists in the NOT tags 1014, in which case the ad server system 111-bwill manage the conflicts accordingly. Likewise, the ad server system111-b will add past purchases 1016-b from the data 1118 to the pastpurchases 1016-a of the branding profile.

In some embodiments (not shown), the branding profile 1002 includes alisting of advertisements already served to the user (e.g., so that thesame advertisement is not served twice).

FIG. 11 illustrates selection of an advertising campaign 1102-1 from aplurality of advertising campaigns 1102 based on demographic information1104 associated with a branding profile (e.g., branding profile 1002,FIG. 10), in accordance with some implementations. The demographicinformation 1104 includes demographics of the branding profile, e.g.,the user's gender, age, geographical location (expressed in latitude andlongitude, or “latlong,” coordinates). The ad server system 111-bdetermines one or more of the plurality of advertising campaigns 1102that meet predefined criteria with respect to the one or moredemographics. For example, in the example shown in FIG. 11, the adserver system 111-b determines that advertising campaigns 1102-1 and1102-2 meet the predefined criteria because they include at least threematching demographics and do not include any required demographics. Insome embodiments, the ad server system maps demographic information 1104onto the advertising campaign's demographics to determine if that match(e.g., the user's latlong coordinates are mapped to target zip codes,and the user's age is mapped to target age ranges). The ad server system111-b determines that advertising campaign 1102-3 is not suitable forthe user because the advertising campaign 1102-3 includes a requiredfemale demographic, while the demographic information 1104 indicatesthat the user is male.

The ad server system 111-b then selects advertising campaign 1102-1instead of advertising campaign 1102-2, for example, by ranking the twoadvertising campaigns based on their bid level and selecting theadvertising campaign with the highest bid level.

The foregoing description, for purpose of explanation, has beendescribed with reference to specific implementations. However, theillustrative discussions above are not intended to be exhaustive or tolimit the implementations to the precise forms disclosed. Manymodifications and variations are possible in view of the aboveteachings. The implementations were chosen and described in order tobest explain the principles of the disclosure and its practicalapplications, to thereby enable others skilled in the art to bestutilize the various implementations with various modifications as aresuited to the particular use contemplated.

It will be understood that, although the terms “first,” “second,” etc.are sometimes used herein to describe various elements, these elementsshould not be limited by these terms. These terms are only used todistinguish one element from another. For example, a first element couldbe termed a second element, and, similarly, a second element could betermed a first element, without changing the meaning of the description,so long as all occurrences of the “first element” are renamedconsistently and all occurrences of the second element are renamedconsistently. The first element and the second element are bothelements, but they are not the same element.

The terminology used herein is for the purpose of describing particularimplementations only and is not intended to be limiting of the claims.As used in the description of the implementations and the appendedclaims, the singular forms “a”, “an” and “the” are intended to includethe plural forms as well, unless the context clearly indicatesotherwise. It will also be understood that the term “and/or” as usedherein refers to and encompasses any and all possible combinations ofone or more of the associated listed items. It will be furtherunderstood that the terms “comprises” and/or “comprising,” when used inthis specification, specify the presence of stated features, integers,operations, elements, and/or components, but do not preclude thepresence or addition of one or more other features, integers,operations, elements, components, and/or groups thereof.

As used herein, the term “if” may be construed to mean “when” or “upon”or “in response to determining” or “in accordance with a determination”or “in response to detecting,” that a stated condition precedent istrue, depending on the context. Similarly, the phrase “if it isdetermined (that a stated condition precedent is true)” or “if (a statedcondition precedent is true)” or “when (a stated condition precedent istrue)” may be construed to mean “upon determining” or “in response todetermining” or “in accordance with a determination” or “upon detecting”or “in response to detecting” that the stated condition precedent istrue, depending on the context.

Throughout the preceding description, various implementations aredescribed within the context of smart phone cameras, tablets and thelike. This is purely for convenience of explanation and is not intendedto limit the claims that follow.

What is claimed is:
 1. A computer implemented method, comprising: at aserver system having memory and one or more processors: receiving arequest to load a first web page, the request including a client deviceidentifier; in response to receiving the request to load the first webpage, identifying a user profile associated with a client device usingthe client device identifier, without user interaction; obtaining theuser profile corresponding to the client device, the user profileincluding one or more demographics associated with a user of the clientdevice, wherein the one or more demographics are selected from aplurality of predefined demographics; selecting an interactive mediacampaign in accordance with the one or more demographics, theinteractive media campaign including a plurality of multimedia contentitems and a plurality of questions, wherein the interactive mediacampaign is associated with a subset of the one or more demographics;selecting, from the interactive media campaign, a multimedia contentitem from the plurality of multimedia content items and a question fromthe plurality of questions, wherein the question is associated with aplurality of predefined answers to the question; transmitting, to theclient device: instructions that cause the multimedia content item to bepresented by the client device; instructions that cause the question tobe presented by the client device concurrently with the multimediacontent item; and instructions that cause a plurality of respectiveaffordances to be presented on the client device, each respectiveaffordance of the plurality of respective affordances corresponding to arespective answer the predefined answers to the question; at the clientdevice: receiving, from the server system, and processing: theinstructions that cause the multimedia content item to be presented bythe client device; the instructions that cause the question to bepresented by the client device concurrently with the multimedia contentitem; and the instructions that cause the plurality of affordances to bepresented on the client device; initiating concurrent display of themultimedia content item including the question; upon a lapse of a firstpredetermined amount of time following initiating display of themultimedia content item, displaying the plurality of respectiveaffordances on the display, wherein selection of one of the plurality ofrespective affordances corresponds to selection of a predefined answerto the question and causes the electronic device to discontinue displayof the multimedia content item and transmit a response corresponding tothe selected predefined answer to the server system; upon a lapse of asecond predetermined amount of time following initiating display of themultimedia content item, displaying a multimedia-skip affordance,wherein: the second predetermined amount of time is longer than thefirst predetermined amount of time; and selection of the multimedia-skipaffordance causes the electronic device to discontinue display of themultimedia content item without receiving selection of a respective userresponse to the question; detecting a user input that selects one of themultimedia-skip affordance or a respective affordance of the pluralityof affordances; and upon detection of the user input, discontinuingdisplay of the multimedia content item; at the server system: afterselection of one of the plurality of respective affordances, receiving,from the client device, the response corresponding to one of thepredefined answers to the question; and updating, based on the responseto the question, the user profile corresponding to the client device. 2.The method of claim 1, further including updating, based on the responseto the question, demographics with which the interactive media campaignis associated.
 3. The method of claim 1, wherein the interactive mediacampaign is associated with an advertiser.
 4. The method of claim 1,wherein the interactive media campaign is a respective interactive mediacampaign of a plurality of interactive media campaigns, each interactivemedia campaign of the plurality of interactive media campaigns includinga respective plurality of multimedia content items and a respectiveplurality of questions; and selecting an interactive media campaignincludes: determining one or more of the plurality of interactive mediacampaigns that meet predefined criteria with respect to the one or moredemographics; ranking the one or more interactive media campaigns atleast partially based on compatibility between the individualinteractive media campaigns and the one or more demographics; andselecting the respective interactive media campaign based on the rankingof the one or more interactive media campaigns.
 5. The method of claim4, wherein the ranking of the one or more interactive media campaigns isbased at least in part on data mining of historical responses of usersassociated with the one or more demographics to questions included inthe plurality of interactive media campaigns.
 6. The method of claim 4,wherein the ranking of the one or more interactive media campaigns isbased at least in part on monetary bids associated with the one or moreinteractive media campaigns.
 7. The method of claim 1, wherein obtainingthe user profile includes using at least one of a plurality ofidentifiers corresponding to the client device, the plurality ofidentifiers including a device issued identifier, a cookie identifier,and a device fingerprint identifier.
 8. The method of claim 1, whereinthe plurality of predefined answers to the question includes apredefined answer corresponding to approval of a respective subjectassociated with the multimedia content item and a predefined answercorresponding to disapproval of the respective subject.
 9. The method ofclaim 8, wherein the subject is one of the group consisting of: aproduct associated with the multimedia content item, content of themultimedia content item, a brand associated with the multimedia contentitem, and a product category to which a product associated with themultimedia content item belongs.
 10. The method of claim 8, wherein: thepredefined answer corresponding to approval signifies intent to engagein a transaction associated with the respective subject; and thepredefined answer corresponding to disapproval signifies intent to forgoengaging in a transaction associated with the respective subject. 11.The method of claim 8, wherein, when the received response to themultimedia content item is the predefined answer corresponding toapproval of the respective subject, the user profile is updated suchthat a second multimedia content item is selected that has a greaterdegree of similarity to the respective subject than when the receivedresponse to the multimedia content item is the predefined answercorresponding to disapproval of the respective subject.
 12. The methodof claim 1, further including: determining, based on responses receivedto a plurality of questions, one or more demographics to which the userof the client device belongs; and updating the user profile to includethe one or more determined demographics.
 13. A server system comprisingone or more processors and memory, the memory storing instructions that,when executed by the one or more processors, cause the server system to:at the server system: receive a request to load a first web page, therequest including a client device identifier; in response to receivingthe request to load the first web page, identify a user profileassociated with a client device using the client device identifier,without user interaction; obtain the user profile corresponding to theclient device, the user profile including one or more demographicsassociated with a user of the client device, wherein the one or moredemographics are selected from a plurality of predefined demographics;select an interactive media campaign in accordance with the one or moredemographics, the interactive media campaign including a plurality ofmultimedia content items and a plurality of questions, wherein theinteractive media campaign is associated with a subset of the one ormore demographics; select, from the interactive media campaign, amultimedia content item from the plurality of multimedia content itemsand a question from the plurality of questions, wherein the question isassociated with a plurality of predefined answers to the question;transmit, to the client device: instructions that cause the multimediacontent item to be presented by the client device; instructions thatcause the question to be presented by the client device concurrentlywith the multimedia content item; and instructions that cause aplurality of respective affordances to be presented on the clientdevice, each respective affordance of the plurality of respectiveaffordances corresponding to a respective answer of the predefinedanswers to the question; at the client device: receive, from the serversystem, and process: the instructions that cause the multimedia contentitem to be presented; the instructions that cause the question to bepresented by the client device concurrently with the multimedia contentitem; and the instructions that cause the plurality of affordances to bepresented on the client device; initiate concurrent display of themultimedia content item including the question; upon a lapse of a firstpredetermined amount of time following initiating display of themultimedia content item, display the plurality of respective affordanceson the display, wherein selection of one of the plurality of respectiveaffordances corresponds to selection of a predefined answer to thequestion and causes the electronic device to discontinue display of themultimedia content item and transmit a response corresponding to theselected predefined answer to the server system; upon a lapse of asecond predetermined amount of time following initiating display of themultimedia content item, display a multimedia-skip affordance, wherein:the second predetermined amount of time is longer than the firstpredetermined amount of time; and selection of the multimedia-skipaffordance causes the client device to discontinue display of themultimedia content item without receiving selection of a respective userresponse to the question; detect a user input that selects one of themultimedia-skip affordance or a respective affordance of the pluralityof affordances; and upon detection of the user input, discontinuedisplay of the multimedia content item; at the server system: afterselection of one of the plurality of respective affordances, receive,from the client device, the response corresponding to one of thepredefined answers to the question; and update, based on the response tothe question, the user profile corresponding to the client device. 14.The server system of claim 13, wherein the instructions further causethe server system to update, based on the response to the question,demographics with which the interactive media campaign is associated.15. The server system of claim 13, wherein the interactive mediacampaign is associated with an advertiser.
 16. The server system ofclaim 13, wherein the interactive media campaign is a respectiveinteractive media campaign of a plurality of interactive mediacampaigns, each interactive media campaign of the plurality ofinteractive media campaigns including a respective plurality ofmultimedia content items and a respective plurality of questions; andselecting an interactive media campaign includes: determining one ormore of the plurality of interactive media campaigns that meetpredefined criteria with respect to the one or more demographics;ranking the one or more interactive media campaigns at least partiallybased on compatibility between the individual interactive mediacampaigns and the one or more demographics; and selecting the respectiveinteractive media campaign based on the ranking of the one or moreinteractive media campaigns.
 17. The server system of claim 16, whereinthe ranking of the one or more interactive media campaigns is based atleast in part on data mining of historical responses of users associatedwith the one or more demographics to questions included in the pluralityof interactive media campaigns.
 18. The server system of claim 16,wherein the ranking of the one or more interactive media campaigns isbased at least in part on monetary bids associated with the one or moreinteractive media campaigns.
 19. The server system of claim 13, whereinobtaining the user profile includes using at least one of a plurality ofidentifiers corresponding to the client device, the plurality ofidentifiers including a device issued identifier, a cookie identifier,and a device fingerprint identifier.
 20. A non-transitory computerreadable storage medium storing one or more programs, the one or moreprograms comprising instructions that, when executed by a server systemcause the server system to: at the server system: receive a request toload a first web page, the request including a client device identifier;in response to receiving the request to load the first web page,identify a user profile associated with a client device using the clientdevice identifier, without user interaction; obtain the user profilecorresponding to the client device, the user profile including one ormore demographics associated with a user of the client device, whereinthe one or more demographics are selected from a plurality of predefineddemographics; select an interactive media campaign in accordance withthe one or more demographics, the interactive media campaign including aplurality of multimedia content items and a plurality of questions,wherein the interactive media campaign is associated with a subset ofthe one or more demographics; select, from the interactive mediacampaign, a multimedia content item from the plurality of multimediacontent items and a question from the plurality of questions, whereinthe question is associated with a plurality of predefined answers to thequestion; transmit, to the client device: instructions that cause themultimedia content item to be presented by the client device;instructions that cause the question to be presented by the clientdevice concurrently with the multimedia content item; and instructionsthat cause a plurality of respective affordances to be presented on theclient device, each respective affordance of the plurality of respectiveaffordances corresponding to a respective answer of the predefinedanswers to the question; at the client device: receive, from the serversystem, and process: the instructions that cause the multimedia contentitem to be presented; the instructions that cause the question to bepresented by the client device concurrently with the multimedia contentitem; and the instructions that cause the plurality of affordances to bepresented on the client device; initiate concurrent display of themultimedia content item including the question; upon a lapse of a firstpredetermined amount of time following initiating display of themultimedia content item, display the plurality of respective affordanceson the display, wherein selection of one of the plurality of respectiveaffordances corresponds to selection of a predefined answer to thequestion and causes the electronic device to discontinue display of themultimedia content item and transmit a response corresponding to theselected predefined answer to the server system; upon a lapse of asecond predetermined amount of time following initiating display of themultimedia content item, display a multimedia-skip affordance, wherein:the second predetermined amount of time is longer than the firstpredetermined amount of time; and selection of the multimedia-skipaffordance causes the client device to discontinue display of themultimedia content item without receiving selection of a respective userresponse to the question; detect a user input that selects one of themultimedia-skip affordance or a respective affordance of the pluralityof affordances; and upon detection of the user input, discontinuedisplay of the multimedia content item; at the server system: afterselection of one of the plurality of respective affordances, receive,from the client device, the response corresponding to one of thepredefined answers to the question; and update, based on the response tothe question, the user profile corresponding to the client device.